package com.moyz.adi.common.vo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * AssistantChatParams 类用于封装与AI助手聊天所需的各种参数。
 * 该类使用Lombok注解来简化代码，并提供流畅的构建模式。
 */
@Data // 自动生成getter、setter、toString、equals和hashCode方法
@Builder // 提供一个流畅的API来构建对象实例
@AllArgsConstructor // 自动生成包含所有字段的构造函数
@NoArgsConstructor // 自动生成无参构造函数
public class AssistantChatParams {

    /**
     * 消息ID，通常用于标识对话中的特定消息或上下文。
     */
    private String messageId;

    /**
     * 系统消息，这是预定义的消息，用来指导AI助手的行为或提供背景信息。
     */
    private String systemMessage;

    /**
     * 用户消息，这是用户发送给AI助手的实际文本内容。
     */
    private String userMessage;

    /**
     * 图片地址列表，仅在支持多模态（即文本和图像）的语言模型中生效。
     * 这些图片可以作为上下文的一部分，帮助AI更好地理解和响应用户的请求。
     */
    private List<String> imageUrls;
}
